
rclone 사용 가이드
1. rclone이란?
rclone은 쉽게 말하면 터미널에서 사용하는 파일 복사 프로그램입니다.
그런데 일반적인 cp와 다른 점이 있습니다.
일반 cp
서버 폴더 ──────────> 서버의 다른 폴더rclone은 다음과 같은 곳을 연결할 수 있습니다.
Ubuntu 서버
│
│ rclone
│
├── Google Drive
├── Dropbox
├── OneDrive
├── S3
└── 기타 클라우드 저장소따라서 예를 들어:
/home/pion79/usb_git-repo
│
│ rclone
▼
Google Drive처럼 사용할 수 있습니다.
2. rclone에서 꼭 알아야 하는 개념
rclone을 이해할 때 가장 중요한 것은 remote입니다.
예를 들어 현재 사용하신 설정이:
Name Type
==== ====
gitrepo drive라면,
gitrepo가 Google Drive에 붙여놓은 이름(alias) 입니다.
즉,
gitrepo:라고 쓰면
"Google Drive의 gitrepo라는 remote를 사용하겠다"
라는 의미입니다.
예를 들어:
rclone lsd gitrepo:는
Google Drive의 최상위 폴더를 보여줘
라는 뜻입니다.
3. 설치
Ubuntu에서:
sudo apt update
sudo apt install rclone설치 확인:
rclone version예:
rclone v1.xx.x4. rclone 설정 확인
현재 설정되어 있는 remote를 확인하려면:
rclone listremotes예:
gitrepo:또는:
rclone config실행하면:
Current remotes:
Name Type
==== ====
gitrepo drive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config이 화면은 rclone의 설정 관리 화면입니다.
5. Google Drive 연결하기
처음 Google Drive를 연결할 때는:
rclone config그리고:
n) New remote를 선택합니다.
예를 들어:
name> gitrepo다음에 저장소 종류에서 Google Drive를 선택합니다.
Storage> drive그 후 여러 설정 질문이 나오는데, 초보자라면 기본값을 사용하면서 진행하는 것이 좋습니다.
6. Google 인증
여기서 중요한 부분이 있습니다.
rclone이 Google Drive에 접근하려면 Google 계정 인증이 필요합니다.
환경에 따라 브라우저 인증을 할 수 있습니다.
서버가 GUI가 없는 Ubuntu Server라면 보통:
Use auto config?
y/n>에서 상황에 따라 n을 선택하고 다른 컴퓨터에서 인증하는 방식 등을 사용합니다.
이미 현재 gitrepo가 정상적으로 설정되어 있다면 이 과정을 다시 할 필요는 없습니다.
7. Remote의 폴더 보기
가장 먼저 알아야 할 명령입니다.
rclone lsd gitrepo:lsd는 directory 목록을 보여줍니다.
예:
-1 2026-09-13 test
-1 2026-09-13 backup
-1 2026-09-13 git8. 파일까지 보기
rclone ls gitrepo:예:
123456 README.md
234567 test.zip
345678 backup.tar.gz파일의 크기까지 확인할 수 있습니다.
9. 사람이 보기 좋은 형태로 보기
제가 가장 추천하는 명령입니다.
rclone lsl gitrepo:예:
123456 2026-09-13 21:30:00 README.md
234567 2026-09-13 21:31:00 backup.zip10. 특정 Google Drive 폴더 보기
예를 들어 Google Drive에:
backup폴더가 있다면:
rclone lsd gitrepo:backup파일까지 보려면:
rclone ls gitrepo:backup즉:
gitrepo:는 Google Drive의 루트이고,
gitrepo:backup은 Google Drive의 backup 폴더입니다.
11. 가장 중요한 명령: copy
로컬 파일을 Google Drive로 복사:
rclone copy /home/pion79/test.txt gitrepo:그러면:
/home/pion79/test.txt
│
│ rclone copy
▼
Google Drive에 올라갑니다.
12. 폴더 복사
예를 들어:
/home/pion79/test_project전체를 Google Drive에 복사하려면:
rclone copy /home/pion79/test_project gitrepo:test_project결과:
Google Drive
└── test_project
├── file1
├── file2
└── file313. copy에서 매우 중요한 점
다음 명령:
rclone copy /home/pion79/test_project gitrepo:test_project은 동기화가 아닙니다.
즉, Google Drive에 이미 있는 파일을 무조건 삭제하지 않습니다.
예를 들어 로컬:
A
B
CGoogle Drive:
A
B
C
D상태에서 copy하면:
A
B
C
D가 유지됩니다.
따라서 백업에는 copy가 비교적 안전한 출발점입니다.
14. sync는 주의해야 합니다
다음 명령이 있습니다.
rclone sync /home/pion79/test_project gitrepo:test_project이것은 copy와 상당히 다릅니다.
sync는 기본적으로:
로컬 폴더와 Google Drive 폴더를 똑같이 만들어라
라는 의미입니다.
예를 들어:
로컬
A
B
CGoogle Drive:
A
B
C
Dsync를 하면 Google Drive의 D가 삭제될 수 있습니다.
즉:
copy
→ 추가/변경된 것을 복사
sync
→ 양쪽을 동일하게 맞춤초보자라면 sync를 사용할 때 특히 주의하세요.
15. copyto
특정 파일을 특정 이름으로 복사할 때 사용합니다.
rclone copyto /home/pion79/test.txt gitrepo:backup/test.txt즉:
로컬 test.txt
↓
Google Drive
backup/test.txt16. Google Drive에서 서버로 복사
반대 방향도 가능합니다.
rclone copy gitrepo:backup /home/pion79/backup즉:
Google Drive
│
│ rclone
▼
Ubuntu 서버17. Google Drive의 파일 하나 가져오기
rclone copyto gitrepo:backup/test.zip /home/pion79/test.zip18. 파일 삭제
Google Drive에서:
rclone delete gitrepo:test.txt특정 폴더:
rclone delete gitrepo:backup하지만 delete는 주의해서 사용해야 합니다.
19. 폴더 자체 삭제
폴더 안의 내용까지 삭제하려면:
rclone purge gitrepo:backuppurge는 상당히 강력합니다.
backup/
├── A
├── B
└── C전부 삭제됩니다.
따라서 초보 단계에서는 purge를 함부로 사용하지 않는 것을 권합니다.
20. 삭제 전에 확인하기
rclone에는 아주 좋은 기능이 있습니다.
--dry-run예를 들어:
rclone sync /home/pion79/test gitrepo:test --dry-run실제로 변경하지 않고:
실행하면 무엇이 삭제되고 무엇이 복사되는지
확인할 수 있습니다.
특히 sync, delete를 사용할 때 --dry-run을 습관적으로 사용하는 것을 추천합니다.
21. 실제 실행 결과 자세히 보기
rclone copy /home/pion79/test gitrepo:test -P-P는 진행 상황을 보여줍니다.
예:
Transferred: 100 MiB / 100 MiB
Checks: ...
Transferred: ...
Elapsed time: ...파일을 많이 올릴 때 매우 유용합니다.
22. -P의 의미
다음 두 명령은:
rclone copy /home/pion79/test gitrepo:testrclone copy /home/pion79/test gitrepo:test -P기능은 같지만 두 번째는 진행 상황을 화면에 표시합니다.
23. 실제 백업에 추천하는 명령
예를 들어 서버의:
/home/pion79/test_prjects를 Google Drive에 백업한다고 하면:
rclone copy /home/pion79/test_prjects gitrepo:backup/test_prjects -P이렇게 시작하는 것이 좋습니다.
24. 로컬 Git 저장소를 Google Drive에 백업
현재 사용하고 계신 구조를 예로 들면:
/home/pion79/usb_git-repo안에 Git bare repository들이 있다고 했을 때,
/home/pion79/usb_git-repo
├── image_editor.git
├── test001.git
└── ...전체를 Google Drive에 백업할 수 있습니다.
rclone copy /home/pion79/usb_git-repo gitrepo:git-backup -P결과:
Google Drive
└── git-backup
├── image_editor.git
├── test001.git
└── ...25. Git 저장소 백업에서 중요한 점
Git bare repository는 일반 파일과 동일하게 복사할 수 있습니다.
예:
image_editor.git/
├── HEAD
├── config
├── objects
├── refs
└── ...따라서:
rclone copy /home/pion79/usb_git-repo/image_editor.git \
gitrepo:git-backup/image_editor.git \
-P처럼 백업할 수 있습니다.
다만 Git 저장소가 동시에 변경되는 동안 파일 단위 복사를 하는 것보다는, 필요하다면 git bundle 또는 저장소의 안전한 백업 절차를 함께 고려하는 것이 더 좋습니다.
26. rclone copy가 이미 있는 파일을 또 올리나?
보통 rclone은 파일의 크기와 수정시간 등을 비교하여 이미 동일하다고 판단되는 파일은 다시 전송하지 않습니다.
그래서 같은 명령을 반복 실행할 수 있습니다.
rclone copy /home/pion79/usb_git-repo gitrepo:git-backup -P다시 실행한다고 해서 모든 파일을 매번 처음부터 업로드하는 것은 아닙니다.
이 특성 때문에 자동 백업에 적합합니다.
27. check
로컬과 원격의 파일이 같은지 검사할 수 있습니다.
rclone check /home/pion79/usb_git-repo gitrepo:git-backup이것은 상당히 유용합니다.
예를 들어:
ERROR : file.txt: Sizes differ같은 문제가 있는지 확인할 수 있습니다.
28. Google Drive 사용량 확인
rclone about gitrepo:Google Drive의 저장공간 정보를 확인할 수 있습니다.
예:
Total: 100 GiB
Used: 35 GiB
Free: 65 GiB29. 폴더 크기 확인
rclone size gitrepo:git-backup예:
Total objects: 12345
Total size: 4.5 GiB30. 폴더 만들기
rclone mkdir gitrepo:backup그러면:
Google Drive
└── backup폴더가 만들어집니다.
다만 copy할 때 필요한 폴더가 없으면 rclone이 만들어주는 경우가 많기 때문에 반드시 mkdir을 먼저 할 필요는 없습니다.
31. 이름 변경
rclone moveto gitrepo:old.txt gitrepo:new.txt폴더나 파일을 이동할 때 사용할 수 있습니다.
32. 서버에서 Google Drive를 폴더처럼 사용하기
rclone에는 상당히 재미있는 기능이 있습니다.
rclone mount예를 들어:
Google Drive
│
▼
/home/pion79/google-drive처럼 마운트할 수 있습니다.
그러면:
cd /home/pion79/google-drive
ls처럼 일반 폴더처럼 사용할 수 있습니다.
하지만 백업 목적이라면 rclone mount보다 rclone copy를 먼저 사용하는 것을 추천합니다.
33. copy, sync, move 차이
이 세 개는 반드시 구분해 두세요.
명령 | 의미 |
|---|---|
| 복사 |
| 양쪽을 동일하게 맞춤 |
| 이동 |
| 특정 위치로 복사 |
| 특정 위치로 이동 |
초보자에게는:
백업 → copy
정확한 미러링 → sync
이동 → move정도로 기억하면 됩니다.
34. 가장 안전한 사용 순서
저라면 처음에는 다음 순서로 연습하겠습니다.
① Remote 확인
rclone listremotes② Google Drive 확인
rclone lsd gitrepo:③ 테스트 폴더 만들기
mkdir ~/rclone-test④ 테스트 파일 생성
echo "hello rclone" > ~/rclone-test/test.txt⑤ 업로드
rclone copy ~/rclone-test gitrepo:rclone-test -P⑥ Google Drive에서 확인
rclone ls gitrepo:rclone-test⑦ 다시 서버로 다운로드
mkdir ~/rclone-download
rclone copy gitrepo:rclone-test ~/rclone-download -P⑧ 확인
cat ~/rclone-download/test.txt35. 자동 백업으로 발전시키기
여기서부터가 실제 서버 운영에서 중요합니다.
예를 들어 매일 새벽 3시에:
/home/pion79/usb_git-repo를
Google Drive/git-backup으로 백업할 수 있습니다.
직접 실행하면:
rclone copy \
/home/pion79/usb_git-repo \
gitrepo:git-backup \
-P그런 다음 이것을 cron이나 systemd timer로 자동 실행할 수 있습니다.
구조는:
매일 03:00
│
▼
자동 실행
│
▼
rclone copy
│
▼
/home/pion79/usb_git-repo
│
▼
Google Drive36. 자동화할 때 로그 남기기
예를 들어:
rclone copy \
/home/pion79/usb_git-repo \
gitrepo:git-backup \
--log-file=/home/pion79/rclone-backup.log \
--log-level INFO그러면:
/home/pion79/rclone-backup.log에 작업 기록이 남습니다.
37. 중요한 rclone 옵션
초보자라면 우선 아래 옵션만 기억하세요.
옵션 | 의미 |
|---|---|
| 진행 상황 표시 |
| 실제 변경 없이 테스트 |
| 로그 파일 저장 |
| 일반적인 로그 |
| 진행 상황 표시 |
| 자세한 출력 |
| 매우 자세한 디버깅 출력 |
38. rclone 명령의 기본 구조
rclone 명령은 대부분 이런 형태입니다.
rclone [명령] [원본] [목적지] [옵션]예:
rclone copy /home/pion79/data gitrepo:backup -P각각:
rclone
│
├── copy ← 무엇을 할 것인가?
│
├── /home/... ← 어디에서?
│
├── gitrepo:... ← 어디로?
│
└── -P ← 옵션이 구조를 이해하면 rclone 명령을 훨씬 쉽게 볼 수 있습니다.
39. 자주 사용하는 명령만 따로 정리
실제로 서버에서 자주 사용할 것은 이 정도입니다.
Remote 확인
rclone listremotesDrive 폴더 보기
rclone lsd gitrepo:Drive 파일 보기
rclone ls gitrepo:상세 파일 보기
rclone lsl gitrepo:로컬 → Google Drive
rclone copy /local/path gitrepo:backup -PGoogle Drive → 로컬
rclone copy gitrepo:backup /local/path -P동기화
rclone sync /local/path gitrepo:backup동기화 전에 테스트
rclone sync /local/path gitrepo:backup --dry-run용량 확인
rclone about gitrepo:폴더 크기
rclone size gitrepo:backup두 위치 비교
rclone check /local/path gitrepo:backup파일 삭제
rclone delete gitrepo:backup/file.txt40. 현재 환경에서는 이렇게 구성하는 것을 추천
지금 사용하고 계신 서버 환경을 기준으로 한다면 다음 구조가 깔끔합니다.
Ubuntu Server
│
├── /home/pion79/test_prjects
│
├── /home/pion79/usb_git-repo
│ │
│ ├── image_editor.git
│ ├── test001.git
│ └── ...
│
└── rclone
│
▼
Google Drive
│
├── git-backup/
│
├── server-backup/
│
└── project-backup/그리고 역할을 나누는 것이 좋습니다.
Git 작업
↓
USB Git Repository
중요 데이터 백업
↓
rclone copy
↓
Google Drive즉 USB를 Git 저장소로 사용하면서 Google Drive를 별도의 백업 저장소로 사용하는 구조입니다.
41. 특히 기억해야 할 5가지
rclone을 처음 사용할 때는 이것만 먼저 기억하셔도 됩니다.
# 1. 연결된 remote 확인
rclone listremotes
# 2. Google Drive 보기
rclone lsd gitrepo:
# 3. 서버 → Google Drive
rclone copy /home/pion79/data gitrepo:backup -P
# 4. Google Drive → 서버
rclone copy gitrepo:backup /home/pion79/data -P
# 5. sync 하기 전 반드시 시험
rclone sync /home/pion79/data gitrepo:backup --dry-run특히 copy와 sync의 차이가 가장 중요합니다.
백업을 처음 시작할 때는
copy를 사용하고,sync는 정확히 어떤 삭제/변경이 일어나는지--dry-run으로 확인한 뒤 사용하세요.
현재 사용 중인 gitrepo remote가 이미 Google Drive에 정상 연결되어 있으므로, 다음 단계로는 **rclone copy → 자동 백업(cron/systemd timer) → 로그 관리 → 오래된 백업 자동 삭제 → Google Drive에서 복구**까지 하나의 실제 서버 백업 시스템으로 구성하는 것이 좋습니다.
